
//624.数组列表中的最大距离
class Solution {
public:
    int maxDistance(vector<vector<int>>& arrays) {
        int n=arrays.size();
        int less=arrays[0][0],more=arrays[0].back();  //存储左边的最大值和最小值

        int ret=0;
        for(int i=1;i<n;i++)
        {
            auto& tmp=arrays[i];
            int x=tmp[0],y=tmp.back();  //x是当前数组的最小值,y是当前数组的最大值

            ret=max(ret,max(more-x,y-less));  //更新最大距离
            less=min(less,x);   //更新左边的最小值
            more=max(more,y);    //更新左边的最大值
        }
        return ret;
    }
};